查看原文
其他

低代码开发的市场态势和争议综述

GEORGE陈果 陈果George 2023-05-12

“低代码”对企业数字化发挥了两个作用,其一、支持非专业编程人士利用“傻瓜相机”方式生成应用软件,其二、利用可视化工具、模型驱动的方式,帮助专业人士提高软件开发效率。


低代码并不是新概念,这种软件工程思想及方法从90年代初就有了,经历了三个发展阶段:


一、快速程序开发(RAD)工具

90年代初 – 2000年代

 

  • 基于面向对象编程思想和对数据库CRUD操作的第四代编程4GL, 90年代兴起了可视化编程方法,快速生成企业级应用软件,减少“硬代码”工作量

  • 适合半专业人员和专业人员,使用可视化方式以及更接近于自然语言表达的编程语句

  • 国内在2000年前后,微软Visual Basic,Sybase PowerBuilder,Borland Delphi等编程工具曾经风行一时,当时用这些工具开发的软件直到今天还在使用;

  • 提供集成的可视化开发环境

  • 2010年后,随着互联网公司兴起,互联网公司技术人员主导了编程技术主流,PHP、Java等工具普及,RAD工具应用逐渐减少;

 

二、模型驱动开发(MDE)

2000年代 – 2010年代

 

  • 2000年代开始兴起的软件工程的概念,采用了业务模型和技术分离的架构设计。提供一个集成的软件开发环境,使用流程和数据建模标准(例如UML,CWM等),构建描述应用程序或集成系统的业务功能和行为的模型,

  • 编程人员无需关心自动生成代码的过程,提高代码生成的效率

  • 主要面向专业人员使用,有名的工具例如IBM Rational,也有非常多的MDA工具,例如JDL Studio;推动了开放标准组织(例如OMG)、企业架构方法、Java等发展

  • 这种方式对于软件开发组织的业务标准化治理、工程管理能力要求较高;

 

三、应用云平台(APaaS)

2015年后


  • APaaS是Gartner在2014提出的概念,PaaS是承载和开发应用的云平台,介于IaaS和SaaS之间,将PaaS分为面向集成的iPaaS和面向快速应用生成的APaaS

  • APaaS提供可视化、模型驱动的开发,使用可定制的表单、工作流和业务规则构建应用程序;一键式部署到公有云、私有云或企业内部;生成的应用程序组件在平台上可重复使用,提高开发效率

  • APaaS是低代码开发在云时代的实现方式,可以叫低代码平台

  • 低代码/无代码开发包括了:低代码开发平台(LCDP)、智能业务流程管理套件、MDXP、RPA和公民应用开发(CADP)等五种类型

  • 低代码工具不仅包含商业应用生成的工具,还包括了一些其他领域的开发工具,例如智能交互应用(例如Chatbot编辑工具)、IoT应用(例如Node Red)等

  • 2019年后,微软、AWS、Google、阿里等云大厂下场低代码后,极大推动了行业发展

 

我最近读了一篇不错的文章,这篇文章将“低代码”开发工具分为五类:


 
Source:Low-code development and model-driven engineering: Two sides of the same coin?
Software and Systems Modeling (2022) 21:437–446
 
 

1,纯模型驱动开发:使用机器处理的模型构件,本身并不强调减少代码量,而是提高软件工程的模拟、校验、优化以及软件逆向工程的效率


2, 基于模型驱动的低代码软件开发:用机器处理的模型构件来生成程序,目的是减少代码工作量,自带代码生成和解释器来实施,但是不提供应用软件生命周期管理及部署平台


3, 基于模型驱动的低代码应用平台:模型驱动的低代码开发,而且提供应用部署平台,即APaaS,这样的平台通常是云服务,也部署在公有云上


4,低代码应用平台:没有采用模型驱动的低代码开发以及应用管理,开发应用程序访问没有明确元模型或语言的定义的业务模型,例如关系型数据库或者XML/JSON文件,例如一些低代码报表生成工具


5,低代码软件开发工具:为降低代码量而生成简单的数据查询或工作流软件的工具

 

除了应用系统开发外,我认为广义的“低代码”还包括了在整个企业IT价值链里,IT运营人员利用模型驱动的无代码工具,来替代传统需要编写代码的软件工程工作,例如:

  • DataOPS:面向数据分析的数据准备领域的IBM CP4D、Talend、Informatica,阿里的数据中台工具Dataphin等等都可以称为“低代码数据工具”

  • MLOPS:例如整合不同AI云服务、模型驱动的AI平台厂商C3.AI、Dataiku等,也常被列入“低代码跑道”

 


从市面上将自己贴标为“低代码”的厂商及软件产品来看,大致分为两类。

 

一类面向“半专业开发人员”,可以称为“低代码”。驾驭这种工具需要较强的系统分析能力,有时候要求要有一定的数据查询、用户脚本等类型的代码编写能力,典型用户例如咨询公司和系统集成商的实施顾问、企业内部IT系统管理人员等,具体来说又分为三种流派:

 

另一类面向“非专业开发人员”,也称为“业务用户”或者“公民开发者”,工具应该记叫“无代码”。对用户有一定的对业务的抽象思维能力的要求,但是对IT系统架构和代码编写等没有要求,主要面向大型企业的部门级、团队级的需求来开发简单的数字化应用,或者中小型企业开发简单的企业级应用,这一类工具具体来说又分为三种流派:

注:为免争议,国内厂商名字模糊处理


最近几年来,低代码获得了不少IT战略家、技术创业者、投资人的追捧,因为它在数字化时代,迎合软件开发的过程敏捷、架构开放、不断拥抱需求变化的特点,解决了企业数字化长期以来存在的痛点:科技部门如何快速响应业务部门的需求?业务部门给IT部提需求迟迟得不到满足,开发排期遥遥无期。


无代码工具可以无需任何代码,搭建简单的运营管理系统,这是我弄的:


我认为低代码存在的明显优势是:

  • 提升开发效率,快速产生最小可用产品

  • 释放业务部门的创造力,让他们可以自己创造数字化产品,而无需依靠IT部门

  • 适应企业的数字化架构的转型趋势,业务用户可以灵活组合内部和外部的业务及数据服务的能力

 

不过,低代码也受到很多IT专业人员的质疑,有些专业人员质疑低代码处理复杂业务的能力,有些企业CIO认为低代码是厂商的封闭标准,生成的应用不能移植,甚至有IT专业机构CTO称低代码为“行业毒瘤”。总的来说,对低代码开发的质疑集中在开发质量、可管控性、数据治理等问题:


  • 企业IT管理者认为业务部门搞低代码开发,会造成“影子IT”(Shadow IT)的现象,威胁到IT部门存在的价值

  • 低代码开发的效率和质量被硬核技术人员鄙视,相当于法国大餐厨师鄙视麦当劳快餐的烹调水平

  • 无代码应用平台多为公有云服务,可能给企业带来IT治理、信息安全等问题

  • 由于业务部门在低代码开发中自行定义数据格式,可能和企业数据治理要求形成冲突,造成新的数据孤岛

 

那么,你认可低代码吗?


旧文:

超自动化 | 业务流程数字化和ERP的终极型态

从Workday用户角度,看SaaS公司的低代码PaaS化进程

SaaS、低代码和IT民主化

我说低代码快要烂大街了,向晖却想成为最烂的那个

低代码,不要以比“中台”还快的速度臭大街

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存